{
   const title = document.createElement('span')
   document.body.append(title)
   title.style = `
   z-index: 30;
   display: none;
   position: absolute;
   padding: 2px 3px;
   background-color: #555666;
   border-radius: 2px;
   color: #fff;
   font-size: 12px;
   `
   document.addEventListener('mousemove', function (event) {
      /** @type {HTMLElement} */
      let e = event.target
      while (!document.isEqualNode(e)) {
         const t = e.getAttribute('data-title')
         if (t) {
            let x = event.clientX, y = event.clientY
            title.style.display = 'block'
            const maxX = window.innerWidth - title.offsetWidth - 5
            const maxY = window.innerHeight - title.offsetHeight - 25
            if (x > maxX) x = maxX
            if (y > maxY) y -= 40
            title.innerHTML = t
            title.style.left = x + 2 + 'px'
            title.style.top = y + 20 + 'px'
            return
         }
         e = e.parentNode
      }
      title.style.display = 'none'
   })
}